# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#

# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane

default_platform(:android)

platform :android do
  desc "Runs all the tests"
  lane :tests do
    gradle(task: "test")
  end

  desc "Build a new Beta version"
  lane :build_beta do |options|
    gradle(
      task: "assemble",
      flavor: "free",
      build_type: "Release",
      print_command: false,
      properties: {
        "android.injected.signing.store.file" => options[:storefile],
        "android.injected.signing.store.password" => options[:storepass],
        "android.injected.signing.key.alias" => options[:keyalias],
        "android.injected.signing.key.password" => options[:keypass],
      }
    )
    gradle(
      task: "assemble",
      flavor: "pro",
      build_type: "Release",
      print_command: false,
      properties: {
        "android.injected.signing.store.file" => options[:storefile],
        "android.injected.signing.store.password" => options[:storepass],
        "android.injected.signing.key.alias" => options[:keyalias],
        "android.injected.signing.key.password" => options[:keypass],
      }
    )
  end

  desc "Deploy a new Free Beta version to the Google Play"
  lane :deploy_beta_free do
    upload_to_play_store(
      track: "beta",
      skip_upload_metadata: "false",
      skip_upload_images: "false",
      skip_upload_screenshots: "false",
      apk: "./app/build/outputs/apk/free/release/app-free-release.apk",
      validate_only: "false",
    )
  end

  desc "Deploy a new Pro Beta version to the Google Play"
  lane :deploy_beta_pro do
    sh("cp", "-a", "./pro/.", "./")
    upload_to_play_store(
      track: "beta",
      skip_upload_metadata: "false",
      skip_upload_images: "false",
      skip_upload_screenshots: "false",
      apk: "./app/build/outputs/apk/pro/release/app-pro-release.apk",
      validate_only: "false",
    )
    gradle(
      task: 'clean'
    )
  end
end
